Instant messaging (“IM”) systems have become very popular in recent times with the increasing use of the internet and email by all sectors of the community as a communication medium. With internet use pervading the areas of the domestic market and being taken up by younger, computer-literate generations as a social medium in its own right, a need has arisen for spontaneous and “instantaneous” messages to be exchanged between two or more parties connected to the internet simultaneously. This need has not been able to have been satisfied by the use of traditional email systems and consequently, IM systems have spawned as an alternative or adjunct to email.
“Instantaneous” in the context of IM means the ability to receive messages without prompting a message-handling server. This is in contrast to the way typical emails are sent and received by internet users.
To send and receive e-mail messages, one uses popular personal computer-based email applications such as Eudora™ or Microsoft Outlook™, which employ the Simple Mail Transfer Protocol (“SMTP”) and the Post Office Protocol (“POP”). Using POP requires the recipient of an email to query or prompt an email server to which it has subscribed, for messages to download to the user's personal computer (“PC”) or any other internet-connected device.
Email messages are sent by a user from an email PC client application (e.g., Eudora™, Microsoft Outlook™) on that user's PC to a mail server to which it has subscribed using SMTP. The mail or SMTP server then forwards the message to the desired recipient's mail server via the internet.
Instant messaging systems work in a different fashion to email, requiring minimal if any user action, to receive messages. Messages are forwarded from a sender's client application, normally a PC-based IM client application program, to the intended recipient's client application via an IM server or directly to the recipient's client, almost in “real time” from the time that a message is sent by the sender, or received by the IM server system—hence “instant”. No querying is needed to get a message to its intended recipient, reflecting more of a “pushing” technology, than a “pulling” of information. Examples of some popular IM systems in the market include AOL's AIM™ and ICQ™.
A characteristic of most IM systems is that a client user is able to set up a network of friends or colleagues, more commonly known as “buddies” with or amongst whom messages can be exchanged instantly.
Although current IM systems in the main involve buddy networks set up amongst client users that are PC based, more recently IM systems have been proposed that allow connectivity amongst different client types and different types of IM systems. For example, other client applications may include email-based client applications (eg Eudora™, Microsoft Outlook™) and browser based client applications (eg Internet Explorer™ and Netscape™) on the internet, and also devices connected into a GSM network, such as mobile phones.
GSM networks have their own form of IM system for communicating short textual messages between different subscribers known as “Short Message Service” (“SMS”). With SMS, a “Short Message Service Center” (“SMSC”) provides a server through which all SMS messages that are sent and received by client subscribers are handled. The messages are short, typically limited to 160 characters in length, and are sent between subscribers of the GSM network, with the SMSC server processing the messages for delivery to the right destination using the GSM mobile number of the intended receiver. Under the SMS protocol, the textual message from the sender is initially sent to the SMSC server using the cellular telephone network. The SMSC then stores the message and allocates it to the intended recipient for downloading, in accordance with normal GSM protocol, when the recipient is identified to be active within a cell.
SMS messaging is normally only provided between GSM clients that specifically subscribe to it, however, by virtue of the SMSC server, it is possible to connect to the internet using a particular protocol, dependent upon the particular GSM phone and network manufacturer. For example, Nokia™ use Computer Interface Message Distribution protocol version Two (CIMD2).
The CIMD2 protocol, like virtually all SMSC protocols providing connectivity to the internet or other external networks, works on sequential message handshaking. This type of handshaking, in the case of an SMSC sending an IM to an external network, requires a confirmation to be received by the SMSC from the network indicating that the server of the external network has safely received the IM, before another IM will be sent. In the case of an SMSC server receiving an IM from an external network, the converse applies, whereby the SMSC server will not receive another IM until it has sent a confirmation to the external network server that the previous IM received by it has been received.
Thus, only one message at a time can be processed by the SMSC, whereby it must receive confirmation each time that it sends or receives an IM from the server on the external network with which it is communicating. In addition to this sequential handshaking each instant message itself must have its own unique confirmation.
The problem with this type of handshaking is that it does not lend itself to communicating messages rapidly with external networks that are unstable or involve an inherent latency, such as the internet.
As instant messaging systems rely upon the speed at which they convey messages and flexibility in accommodating different client types such as mobile phones connected into a GSM network as attributes in distinguishing them from email, slow communications between an IM server and an SMSC server is highly undesirable and detracts from the virtues of instant messaging.
Whilst the problem can be addressed by creating direct links between the IM server and the SMSC server, in a global IM system such an arrangement would be prohibitively expensive if the IM server was to be centrally located.
Centralisation of the IM server, however, is desirable in a global IM system, where it is preferable to locate the centralised IM server in a tier 1 internet exchange residing in an area of very reliable internet infrastructure such as in the United States of America or Europe. Such location of an IM server provides maximal reliability and redundancy of internet access.
On the other hand, the geographical location and distribution of GSM networks is quite unrelated to the geographical location of tier 1 internet exchanges and consequently stability and latency factors can vary considerably with communications between SMSC servers that can be located in different and indeed quite remote regions of the world, and an IM server located in a tier 1 internet exchange.